iT邦幫忙

2026 iThome 鐵人賽

DAY 1
0
自我挑戰組

《球迷的棒球數據分析實驗:30天用MLB數據學習資料分析》系列 第 1

Day 1|球迷與AI的棒球數據實驗:再次挑戰30天自我學習

  • 分享至 

  • xImage
  •  

大家好,又到了一年一度的iThome鐵人賽。

過去面對需要長時間完成的挑戰時,我常常因為時間不夠、擔心成果不好,或是給自己太多莫名的壓力,而很快產生放棄的念頭。有時候明明還沒有真正開始,腦中就已經先想像了各種困難,最後乾脆告訴自己:「還是下次再做吧。」

所以今年,我決定再給自己一次機會。

這次我選擇參加「自我挑戰組」。比起追求一開始就做出多麼厲害的成果,我更希望自己能夠每天完成一小步,把遇到的問題、學習的過程與犯下的錯誤記錄下來。

我不要求自己30天後成為資料分析專家,也不期待做出能夠取代職業球探或球團分析部門的系統。我這次最重要的目標只有兩個:

  1. 完成一次相對完整的資料分析學習旅程。
  2. 不要再因為過度擔心成果,而提前選擇放棄。

為什麼選擇棒球數據?

我是一位喜歡棒球、具有程式設計、演算法與遊戲開發背景的普通球迷。

雖然過去曾經接觸程式開發,但這是我第一次正式嘗試完成一個相對完整的資料分析專案。因此,這個系列不會以棒球專家或職業球探的角度評論球員,而是記錄一位球迷如何從問題出發,一步一步學習資料取得、清理、分析、建模與驗證。

為什麼選擇棒球數據?

觀看棒球比賽時,我們經常會接觸各種數據,例如打擊率、上壘率、長打率、OPS、防禦率與WHIP。

過去的我通常只知道某些數字越高或越低,可能代表球員表現越好。但是,如果進一步問我這些指標如何計算、適合用來回答什麼問題,以及可能忽略哪些因素,我其實沒有辦法完整說明。

看球時,我也經常產生一些很直覺的想法:

  • 打擊率高,就代表是一名比較好的打者嗎?
  • 全壘打越多,球員的整體進攻價值就越高嗎?
  • 不同數據選出的「最佳打者」會是同一個人嗎?
  • 一名球員短期表現很好,究竟是實力還是小樣本造成的波動?
  • 哪些球員的打擊風格相似?
  • 今年的數據能不能用來預測球員下一季的表現?

這些問題不一定有簡單或唯一的答案,但它們可以被轉換成資料分析問題。

因此,我想利用MLB公開資料,實際檢驗自己看球時的直覺,同時學習如何根據資料範圍、分析方法與證據強度,寫出比較合理的結論。

這是我的第一次正式資料分析

這個系列不會只停留在介紹AVG、OPS等棒球指標,也不會只是將球員資料依照數字由高到低排列。

我希望完成一次比較完整的資料分析流程,包括:

  • 比較並選擇適合的公開資料來源
  • 建立資料欄位說明與Dataset Card
  • 使用Python和Pandas清理資料
  • 檢查缺失值、重複值與異常值
  • 進行探索性資料分析與視覺化
  • 建立及驗證新的分析特徵
  • 討論樣本數、相關性與不確定性
  • 使用PCA觀察資料維度
  • 使用分群方法分析不同打者類型
  • 尋找數據表現相似的球員
  • 建立簡單的跨球季預測模型
  • 比較模型與基準方法的表現
  • 檢查資料洩漏及模型限制
  • 解釋模型為什麼做出特定預測

為了避免範圍過大,這次會先以MLB打者資料為主。投手、球隊戰績、薪資、合約與交易分析雖然也很有趣,但暫時不會全部放進第一個版本。

AI會出現在哪裡?

雖然系列標題的主角是棒球數據分析,但AI也會是這次實驗的重要部分。

因為這是我第一次正式進行資料分析,我想同時觀察:

AI能不能協助資料分析初學者完成專案?它提供的分析又有多少可以相信?

在學習過程中,我會使用AI協助:

  • 將球迷的疑問拆解成可分析的問題
  • 解釋陌生的資料欄位與指標
  • 規劃資料清理與分析步驟
  • 產生或修改Python程式
  • 建議適合的統計與視覺化方法
  • 協助尋找程式中的錯誤
  • 整理初步的分析發現

不過,AI的回答不會直接被當成正確答案。

它可能使用錯誤的公式、誤解資料欄位、忽略樣本數,也可能把相關性解釋成因果關係。因此,每次使用AI之後,我都會盡可能對照資料來源、實際執行程式,並確認數據是否真的支持它提出的結論。

除了使用AI協助學習,我也會嘗試建立實際的機器學習模型,包括球員分群、相似球員搜尋及簡單的跨球季表現預測。

最後想完成什麼?

這30天預計累積成一個小型Side Project:

AI MLB打者數據分析助手

使用者可以透過自然語言提出問題,例如:

  • 2025年符合一定打席門檻的打者中,誰的OPS最高?
  • 兩名球員的打擊表現有什麼差異?
  • 哪些球員具有相似的打擊風格?
  • 某位球員的數據在聯盟中位於什麼位置?

系統會先透過Python或SQL查詢與計算真實資料,再產生圖表,最後由AI整理分析結果、資料條件與限制。

我不希望讓AI直接「猜」出棒球數字。AI可以負責理解問題與整理說明,但實際數值應該交給程式與資料庫計算,讓分析結果可以被檢查與重現。

關於這個系列的限制

我不是職業球探、教練、球團管理人員或棒球數據專家。這是一個資料分析學習與實作系列,不是對球員或球隊的權威評價。

文章中的分析結果,只適用於當下採用的:

  • 資料來源
  • 資料期間
  • 樣本門檻
  • 評估指標
  • 模型假設
  • 分析方法

公開數據也無法完整呈現球員的健康狀況、心理因素、球探觀察、球隊戰術與其他非公開資訊。

如果分析中出現錯誤或理解不完整的地方,我會在確認後補充或修正。比起證明自己的答案一定正確,我更希望練習如何提出問題、尋找證據,以及根據證據調整原本的想法。

再次出發

30天後,我不期待自己突然成為棒球數據專家,但希望能夠回答以下問題:

  • 我是否能獨立完成一套資料分析流程?
  • 我是否知道如何把球迷的疑問轉換成分析問題?
  • 我是否能判斷一張圖表或一項結論是否合理?
  • 我是否能辨認AI提供的錯誤資訊?
  • 我是否完成了一個可以展示及重現的分析專案?
  • 面對不熟悉的問題時,我是否沒有再次因為壓力而直接放棄?

這次挑戰不只是學習棒球數據分析,也是一次練習面對未知、允許自己犯錯,並持續完成下一步的過程。

那麼,我們下一篇見。


下一篇
Day 2|看了這麼多年棒球,我真的看得懂AVG、OBP和OPS嗎?
系列文
《球迷的棒球數據分析實驗:30天用MLB數據學習資料分析》3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言